Laravel6
之後用推播會需要用到 Event
$listen
陣列加入一組 event 和 listen,如下:
protected $listen = [
'App\Events\TestEvent' => [
'App\Listeners\TestListen',
],
]
php artisan event:generate
use App\Events\TestEvent;
class NotificationController extends Controller
{
public function store(Request $request)
{
event(new TestEvent());
}
}
php artisan queue:work
若 listener 要使用 queue, 可以直接 implements ShouldQueue, 如下:
class TestListen implements ShouldQueue
{
public function __construct()
{
}
public function handle(TestEvent $event)
{
}
}
因此要處理 queue:
我們先使用最簡單的方式處理: database
php artisan queue:table
, php artisan migrate
資料庫會多一個 jobs 表
QUEUE_CONNECTION=database
當我們沒有執行 php artisan queue:work
時,Event 的請求會存在 DB 的 Jobs 裡